آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic
تهیه و آموزش نرم افزار دارک بیسیک
 
 
دو شنبه 2 ارديبهشت 1392برچسب:, :: 2:33 ::  نويسنده : ابوالفضل

 دوربین : با اجرای مثال های بالا ، راجع به ایجاد اشیاء ساده  و پیچیده ی سه بعدی ، اشیاء توسط دوربین پیش فرض DarkBasic نمایش داده می شدند . یعنی ما از دریچه ی دوربین پیش فرض به اشیاء نگاه می کردیم . می توانیم به غیر از دوربین پیش فرض ، خود نیز دوربین های دیگری هم ایجاد کنیم و از دید هر یک از آنها به صحنه نگاه کنیم .

 
دستور MAKE CAMERA
با این دستور می توانیم دوربین جدید ایجاد کنیم . مانند دستورالعمل زیر :
 
MAKE CAMERA CameraNumber
 
طبق این دستورالعمل به جای CameraNumber عددی طبیعی در محدوده ی مثبت متغیر Integer قرار می دهیم . این عدد به معنای نام دوربین می باشد . توسط همین عدد در خطوط بعدی برنامه بر روی دوربین کنترل خواهیم باشیم . مانند مثال زیر :
 
Make Camera 1
 
در این مثال دوربین جدیدی با شماره ی 1 ایجاد شد .
 
دستور DELETE CAMERA
با این دستور دوربین جدید ایجاد شده را حذف می کنیم . مانند مثال زیر :
 
Make Camera 1
Make Camera 2
Delete Camera 1
Wait Key
 
تابع CAMERA EXIST
این تابع بررسی می کند که آیا دوربین مورد نظر وجود دارد یا خیر . اگر وجود داشته باشد ، تابع مقدار یک و اگر وجود نداشته باشد ، تابع مقدار صفر را برمی گرداند . مانند مثال زیر :
 
Make Camera 1
Make Camera 2
Delete Camera 1
Do
cls
"If Camera Exist(1) Then Print "Camera 1 Exist" Else Print "Camera 1 Not Exist
"If Camera Exist(2) Then Print "Camera 2 Exist" Else Print "Camera 2 Not Exist
Loop
 
دستور Set Current Camera
با این دستور دوربین مورد نظرمان را فعال می کنیم . مانند مثال زیر :
 
Make Camera 13
Make Camera 7
Make Camera 6
Set Current Camera 7
 
در این مثال سه دوربین با شماره های 13 و 7 و 6 ایجاد شدند و در آخر از بین این سه دوربین ، دوربین شماره ی 7 فعال شد . یعنی با اجرای دستور Set Current Camera ، صحنه ( تمام اشیاء ) از دید دوربین شماره ی 7 نشان داده خواهد شد .
 
دستور POSITION CAMERA
با این دستور موقعیت مکانی دوربین پیش فرض را در فضای سه بعدی مشخص می کنیم . مانند دستورالعمل زیر :
 
POSITION CAMERA X,Y,Z
 
طبق این دستورالعمل به جای X و Y و Z مختصات موقعیت مکانی جدید دوربین پیش فرض را در فضای سه بعدی ، قرار می دهیم . مانند مثال زیر :
 
Make Object Box 5,10,10,10
Wait 2000
Position Camera 0,10,-20
Wait Key
 
با اجرای این مثال بعد از 2 ثانیه دوربین پیش فرض به موقعت مکانی ( مختصات 20-Z=  و 10Y= و 0X= ) پرش خواهد کرد ( تغییر مکان خواهد داد ) . و جسم ، سر جایش بی حرکت می ماند .
 
با اضافه کردن شماره ی دوربین جدید به این دستورالعمل ، می توانیم موقعت مکانی دوربین جدید را نیز در فضای سه بعدی مشخص کنیم . مانند مثال زیر :
 
Make Object Box 15,10,10,10
Make Camera 5
Position Camera 5,0,10,-20
Set Current Camera 5
Wait Key
 
در این مثال دوربین جدیدی با شماره ی 5 ایجاد شد و در خط سوم موقعت مکانی جدید آن در فضای سه بعدی مشخص شد و در خط  چهارم ، توسط دستور Set Current Camera دوربین جدید که شماره اش 5 بود فعال شد و صحنه هم اکنون از دید دوربین جدید ( دوربین شماره 5 ) نشان داده می شود .
 
تابع CAMERA POSITION X و تابع CAMERA POSITION Y و تابع CAMERA POSITION Z
تابع ()CAMERA POSITION X موقعیت X دوربین پیش فرض ( فاصله ی دوربین پیش فرض تا محور X ها ) و تابع ()CAMERA POSITION Y موقعیت Y دوربین پیش فرض ( فاصله ی دوربین پیش فرض تا محور Y ها ) و تابع ()CAMERA POSITION Z موقعیت Z دوربین پیش فرض ( فاصله ی دوربین پیش فرض تا محور Z ها ) را بدست می آورند . مانند مثال زیر :
 
Position Camera 0,10,-20
()Print Camera Position X
()Print Camera Position Y
()Print Camera Position Z
Wait Key
 
تا قرار دادن شماره ی دوربین های جدید بعنوان ورودی در سه تابع بالا ، می توانیم موقعت X و Y و Z دوربین های جدید را نیز بدست آوریم . مانند مثال زیر :
 
Make Object Box 15,10,10,10
Make Camera 5 : Position Camera 5,50,100,-20
Do
(X = Camera Position X(5
(Y = Camera Position Y(5
(Z = Camera Position Z(5
(Text 10,10,Str$(X) : Text 10,25,Str$(Y) : Text 10,40,Str$(Z
Loop
 
دستور POSITION OBJECT
با این دستور موقعیت مکانی اشیاء سه بعدی را در فضای سه بعدی مشخص می کنیم . مانند دستورالعمل زیر :
 
POSITION OBJECT ObjectNumber,X,Y,Z
 
طبق این دستورالعمل به جای X و Y و Z مختصات موقعیت مکانی جدید شیء مورد نظر را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 5,10,10,10
Make Object Sphere 6,15
Wait 2000
Position Object 6,10,20,10
Wait Key
 
با اجرای این مثال ابتدا یک جعبه با شماره ی 5 و یک کره با شماره ی 6 ایجاد شدند و بعد از 2 ثانیه شیء کره با شماره ی 6 هر جا که بود هم اکنون به موقعت مکانی ( مختصات 10=Z و 20=Y و 10=X ) پرش کرد ( تغییر مکان داد ) .
 
تابع Object POSITION X و تابع Object POSITION Y و تابع Object POSITION Z
تابع ()Object POSITION X موقعیت X شیء ( فاصله ی شیء تا محور X ها )
و تابع ()Object POSITION Y موقعیت Y شیء ( فاصله ی شیء تا محور Y ها )
و تابع ()Object POSITION Z موقعیت Z شیء ( فاصله ی شیء تا محور Z ها ) را بدست می آورند . مانند مثال زیر :
 
Make Object Cylinder 10,20
Position Object 10,-45,0,29
Do
(X = Object Position X(10
(Y = Object Position Y(10
(Z = Object Position Z(10
(Text 10,10,Str$(X
(Text 10,25,Str$(Y
(Text 10,40,Str$(Z
Loop
 
دستور POINT CAMERA
با این دستور دوربین پیش فرض هر کجا که باشد ، از همان جا به مختصات نقطه ای مشخص در فضای سه بعدی خیره خواهد شد . مانند دستورالعمل زیر :
 
POINT CAMERA X,Y,Z
 
طبق این دستورالعمل به جای X و Y و Z مختصات نقطه ای ( منظور از نقطه ، مکانی در فضا می باشد ) را در فضای سه بعدی مشخص می کنیم ، تا دوربین پیش فرض به آن مکان نگاه کند . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-5,0
Make Object Box 20,10,10,10 : Position Object 20,50,30,50
Make Object Sphere 15,10
Position Camera 0,30,-60
Sync On : Sync Rate 30
Do
For MyAngle = 0 To 359 Step 2
(Text 10 , 10 , Str$(Sin(MyAngle)*50
Position Object 15,Sin(MyAngle)*50,25,Cos(MyAngle)*50
(Point Camera Object Position X(15),Object Position Y(15),Object Position Z(15
      Sync
Next MyAngle
Loop
 
با اجرای این مثال ، کره دائما در حال حرکت است و دوربین پیش فرض هم دائما به آن نگاه می کند . با اضافه کردن شماره ی دوربین جدید به این دستورالعمل می توانیم دوربین جدیدمان را به این کره خیره کنیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-5,0
Make Object Box 20,10,10,10 : Position Object 20,50,30,50
Make Object Sphere 15,10
Make Camera 7
Set Current Camera 7 : Position Camera 7,0,30,-60
Sync On : Sync Rate 30
Do
For MyAngle = 0 To 359 Step 2
(Text 10,10,Str$(Sin(MyAngle)*50
Position Object 15,Sin(MyAngle)*50,25,Cos(MyAngle)*50
(Point Camera 7,Object Position X(15),Object Position Y(15), Object Position Z(15
      Sync
Next MyAngle
Loop
دستور POINT OBJECT
با این دستور شیء مورد نظر هر کجا که باشد ، به مختصات نقطه ای مشخص در فضای سه بعدی خیره خواهد شد . مانند دستورالعمل زیر :
 
POINT Object objectnumber,X,Y,Z
 
طبق این دستورالعمل به جای X و Y و Z مختصات نقطه ای را در فضای سه بعدی مشخص می کنیم تا شیء مورد نظر به آن نقطه نگاه کند ( یعنی محور Z شیء ، نقطه را هدف قرار دهد ) . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-5,0
Make Object Box 20,10,10,10 : Position Object 20,50,30,50
Make Object Sphere 15,10
Position Camera 0,30,-60
Sync On : Sync Rate 30
Do
For MyAngle = 0 To 359 Step 2
(Text 10,10,Str$(Sin(MyAngle)*50
Position Object 15,Sin(MyAngle)*50,25,Cos(MyAngle)*50
(Point Object 20,Object Position X(15),Object Position Y(15), Object Position Z(15
      Sync
Next MyAngle
Loop
 
با اجرای این مثال شیء جعبه به کره ( مختصات X و Y و Z کره ) خیره خواهد شد .
 
دستور XROTATE CAMERA
این دستور دوربین پیش فرض را حول محور X خود دوربین ، دوران می دهد ( می چرخاند ) . مانند دستورالعمل زیر :
 
XROTATE CAMERA XAngle
 
طبق این دستورالعمل به جای XAngle زاویه دوربین حول محور X خودش را قرار می دهیم . یعنی عددی در محدوده ی 0 تا 360 مانند مثال زیر :
 
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Xangle = 0 To 360 Step 5
   Xrotate Camera Xangle
Sync
Next Xangle
Loop
 
با اضافه کردن شماره ی دوربین جدید به این دستورالعمل می توانیم دوربین جدید را حول محور X خودش ، دوران دهیم ( بچرخانیم ) . مانند مثال زیر :
 
Make Camera 17
Set Current Camera 17
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Xangle = 0 To 360 Step 5
   Xrotate Camera 17,Xangle
Sync
Next Xangle
Loop
 
 
دستور YROTATE CAMERA
این دستور دوربین پیش فرض را حول محور Y خودش دوران می دهد ( می چرخاند ) . مانند دستورالعمل زیر :
 
YROTATE CAMERA YAngle
 
طبق این دستورالعمل به جای YAngle زاویه دوربین حول محور Y خود دوربین را قرار می دهیم . یعنی عددی در محدوده ی 0 تا 360 مانند مثال زیر :
 
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Yangle = 360 To 0 Step -5
      Yrotate Camera Yangle
Sync
Next Yangle
Loop
 
با اضافه کردن شماره ی دوربین جدید به این دستورالعمل می توانیم دوربین جدید را حول محور Y خودش ، دوران دهیم ( بچرخانیم ) . مانند مثال زیر :
 
Make Camera 1
Set Current Camera 1
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Yangle = 0 To 360 Step 5
   Yrotate Camera 1,Yangle
Sync
Next Yangle
Loop
 
دستور ZROTATE CAMERA
این دستور دوربین پیش فرض را حول محور Z خودش دوران می دهد ( می چرخاند ) . مانند دستورالعمل زیر :
 
ZROTATE CAMERA ZAngle
 
طبق این دستورالعمل به جای ZAngle زاویه دوربین حول محور Z خودش را قرار می دهیم . یعنی عددی در محدوده ی 0 تا 360 مانند مثال زیر :
 
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Zangle = 0 To 360 Step 5
   Zrotate Camera Zangle
Sync
Next Zangle
Loop
 
با اضافه کردن شماره ی دوربین جدید به این دستورالعمل می توانیم دوربین جدید را حول محور Z خودش ، دوران دهیم ( بچرخانیم ) . مانند مثال زیر :
 
Make Camera 11
Set Current Camera 11
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Zangle = 0 To 360 Step 5
   Zrotate Camera 11,Zangle
Sync
Next Zangle
Loop
 
در این سه مثال جعبه ثابت بود و تنها دوربین در حال چرخش بود .
 
دستور ROTATE CAMERA
اگر بخواهیم به جای استفاده از دستورات قبلی جهت چرخش دوربین حول محور X و Y و Z خود دوربین ، تنها با یک دستور ، دوربین پیش فرض را حول محور X ها و Y ها و Z همان دوربین می چرخانیم ، پس از دستورالعمل زیر استفاده می کنیم .
 
ROTATE CAMERA Xangle,Yangle,ZAngle
 
طبق این دستورالعمل به جای Xangle مقدار چرخش دوربین حول محور X همان دوربین ، به جای Yangle مقدار چرخش دوربین حول محور Y همان دوربین ، و به جای ZAngle ، مقدار چرخش دوربین حول محور Z همان دوربین پیش فرض را قرار می دهیم . مانند مثال زیر :
 
Make Object box 22,40,40,40
Wait 2000
Rotate Camera 10,50,30
Wait Key
 
با اضافه کردن شماره ی دوربین جدید به این دستورالعمل می توانیم دوربین جدید را حول محورهای X و Y و Z همان دوربین جدید ، دوران دهیم ( بچرخانیم ) . مانند مثال زیر :
 
Make Camera 6 : Set Current Camera 6
Make Object box 22,40,40,40
Wait 2000
Rotate Camera 6,10,50,30
Wait Key
 
دستور XROTATE Object
این دستور شیء را حول محور X همان شیء دوران می دهد ( می چرخاند ) . مانند دستورالعمل زیر :
 
XROTATE OBJECT XAngle
 
طبق این دستورالعمل به جای XAngle زاویه شیء حول محور X خود شیء را قرار می دهیم . یعنی عددی در محدوده ی 0 تا 360 مانند مثال زیر :
 
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Xangle = 0 To 360 Step 5
   Xrotate Object 20,Xangle
Sync
Next Xangle
Loop
 
دستور YROTATE OBJECT
این دستور شیء را حول محور Y همان شیء دوران می دهد ( می چرخاند ) . مانند دستورالعمل زیر :
 
YROTATE OBJECT YAngle
 
طبق این دستورالعمل به جای YAngle زاویه دوربین حول محور Y خود شیء را قرار می دهیم . یعنی عددی در محدوده ی 0 تا 360 مانند مثال زیر :
 
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Yangle = 360 To 0 Step -5
      Yrotate Object 20,Yangle
Sync
Next Yangle
Loop
 
دستور ZROTATE OBJECT
این دستور شیء را حول محور Z همان شیء دوران می دهد ( می چرخاند ) . مانند دستورالعمل زیر :
 
ZROTATE OBJECT ZAngle
 
طبق این دستورالعمل به جای ZAngle زاویه شیء حول محور Z خود شیء را قرار می دهیم . یعنی عددی در محدوده ی 0 تا 360 مانند مثال زیر :
 
Make Object box 20,40,40,40
Sync On : Sync Rate 30
Do
For Zangle = 0 To 360 Step 5
   Zrotate Object 20,Zangle
Sync
Next Zangle
Loop
 
شکل های زیر به ترتیب از سمت چپ به راست ، چرخش دوربین و یا اشیاء سه بعدی را حول محور های X و Y و Z خودشان نشان می دهد .
 
 
دستور ROTATE OBJECT
اگر بخواهیم به جای استفاده از دستورات بالا ، تنها با یک دستور ، شیء را حول محور X و Y و Z همان شیء بچرخانیم ، از دستورالعمل زیر استفاده می کنیم .
 
ROTATE OBJECT ObjectNumber,Xangle,Yangle,ZAngle
 
طبق این دستورالعمل به جای ObjectNumber شماره ی شیء مورد نظر و به جای Xangle مقدار چرخش شیء حول محور X خود شیء ، به جای Yangle مقدار چرخش شیء حول محور Y خود شیء ، و به جای ZAngle ، مقدار چرخش شیء حول محور Z همان شیء را قرار می دهیم . مانند مثال زیر :
 
Make Object box 22,40,40,40
Wait 2000
Rotate Object 22,10,50,30
Wait Key
 
تابع CAMERA ANGLE X و تابع CAMERA ANGLE Y و تابع CAMERA ANGLE Z
تابع ()CAMERA ANGLE X زاویه ی محور X دوربین پیش فرض و تابع ()CAMERA ANGLE Y زاویه ی محور Y دوربین پیش فرض و تابع ()CAMERA ANGLE Z زاویه ی محور Z دوربین پیش فرض را حول محورهای خود دوربین بدست می آورند . مانند مثال زیر :
 
Position Camera 0,10,-20
Rotate Camera 20,30,-10
()Print CAMERA ANGLE X
()Print CAMERA ANGLE Y
()Print CAMERA ANGLE Z
Wait Key
 
تا قرار دادن شماره ی دوربین جدید بعنوان ورودی سه تابع بالا ، می توانیم زاویه ی محور هی  X و Y و Z دوربین های جدید را نیز بدست آوریم . مانند مثال زیر :
 
Make Object Box 15,10,10,10
Make Camera 5 : Rotate Camera 5,50,100,-20
Do
(X = CAMERA ANGLE X(5
(Y = CAMERA ANGLE Y(5
(Z = CAMERA ANGLE Z(5
(Text 10,10,Str$(X) : Text 10,25,Str$(Y) : Text 10,40,Str$(Z
Loop
 
تابع OBJECT ANGLE X و تابع OBJECT ANGLE Y و تابع OBJECT ANGLE Z
تابع ()OBJECT ANGLE X زاویه ی محور X شیء و تابع ()OBJECT ANGLE Y زاویه ی محور Y شیء و تابع ()OBJECT ANGLE Z زاویه ی محور Z شیء را بدست می آورند . مانند مثال زیر :
 
Make Object Box 15,10,10,10
Rotate Object 15,30,-10,0
(Print Object ANGLE X(15
(Print Object ANGLE Y(15
(Print Object ANGLE Z(15
Wait Key
 
دستور COLOR OBJECT
با این دستور می توانیم شیء سه بعدی را با رنگ دلخواه رنگ آمیزی کنیم . مانند دستورالعمل زیر :
 
COLOR OBJECT ObjectNumber,ColorValue
 
طبق این دستورالعمل به جای ObjectNumber شماره ی شیء سه بعدی و به جای ColorValue شماره ی رنگ مورد نظرمان را قرار می دهیم . مانند مثال زیر :
 
Make Object Box 1,10,50,70
Make Object Sphere 2,20 : Position Object 2,30,0,0
Make Object Cylinder 3,30 : Position Object 3,-30,0,0
(Color Object 1,Rgb(255,0,0
(Color Object 2,Rgb(0,255,0
(Color Object 3,Rgb(0,0,255
Wait Key
 
دستور LOAD IMAGE
این دستور فایل تصویری با فرمت Bmp ، Jpg ، Tga ، Dds ، Dib و یا Png را بر روی حافظه فراخوانی ( از فایل تصویری موجود در Hard موقتا به Ram کپی می شود ) می کند . مانند دستورالعمل زیر :
 
LOAD IMAGE Filename,ImageNumber
 
طبق این دستورالعمل به جای Filename مسیر و نام فایل تصویری مورد نظر و به جای ImageNumber شماره ای به تصویر می دهیم تا توسط همین شماره بر روی تصویر کنترل داشته باشیم . مانند مثال زیر :
 
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\gfx\backdrop.Jpg",1
Wait Key
 
دستور TEXTURE OBJECT
این دستور تصویر فرخوانی شده در حافظه ( توسط دستور Load Image ) را به شیء سه بعدی می چسباند . مانند دستورالعمل زیر :
 
TEXTURE OBJECT ObjectNumber,ImageNumber
 
طبق این دستورالعمل به جای ObjectNumber نام شیء و به جای ImageNumber شماره ی تصویر فراخوانی شده در حافظه ( توسط دستور Load Image ) را قرار می دهیم تا تصویر به شیء سه بعدی بچسبد . مانند مثال زیر :
 
Make Object Sphere 5,10 : Position Camera 0,0,-20
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic2d\parchment.Jpg",3
TEXTURE OBJECT 5,3
Wait Key
 
با اجرای این مثال ابتدا یک شیء کره با شماره ی 5 در خط اول ایجاد و بعد تصویری با فرمت Jpg با شماره ی 3 به حافظه فراخوانی شد ( از فایل تصویری موجود در Hard موقتا به Ram کپی شد ) و توسط دستور TEXTURE OBJECT تصویر شماره ی 3 به شیء شماره ی 5 چسبید .
 
تابع IMAGE EXIST
این تابع بررسی می کند که آیا تصویری با شماره ی مورد نظر ایجاد شده یا نه .
اگر تابع ()Image Exist عدد یک را برگرداند یعنی تصویر ایجاد شده ( یعنی بر روی حافظه فراخوانی شده ) و اگر عدد صفر برگردانده شود ، یعنی تصویری با این شماره ایجاد نشده . مانند مثال زیر :
 
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic2d\parchment.Jpg",3
".If Image Exist(3) Then Print "Image 3 Exist
".If Image Exist(5) Then Print "Image 5 Exist
Wait Key
 
در این مثال تنها تصویری با شماره ی 3 ایجاد شده . پس تنها عبارت ( .Image 3 Exist ) چاپ خواهد شد .
 
دستور DELETE IMAGE
این دستور تصویر ایجاد شده در حافظه ( توسط دستور Load Image ) را حذف می کند . مانند دستورالعمل زیر :
 
DELETE IMAGE ImageNumber
 
طبق این دستورالعمل به جای ImageNumber شماره تصویر ایجاد شده را قرار می دهیم . مانند مثال زیر :
 
Make Object Sphere 5,10 : Position Camera 0,0,-20
Load Image "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\basic2d\parchment.Jpg",3
TEXTURE OBJECT 5,3
Wait 2000
Delete Image 3
Wait Key
 
با اجرای این مثال پس از دو ثانیه تصویر حذف شده و تصویر چسبانده شده به شیء نیز ناپدید می گردد .
 
دستور MOVE CAMERA
این دستور دوربین پیش فرض را در فضای سه بعدی به عقب و جلو ( راستای محور Z خود دوربین ) حرکت می دهد . مانند دستورالعمل زیر :
 
MOVE CAMERA DistanceValue
 
طبق این دستورالعمل به جای DistanceValue مقدار حرکت دوربین را توسط یک عدد مشخص می کنیم . یعنی اگر عدد بزرگتر از صفر باشد ، دوربین به همان مقدار به جلو و اگر عدد کوچک تر از صفر باشد ، دوربین به همان مقدار به عقب حرکت خواهد کرد . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Rotate Camera 0,0,0
Do
   If UpKey()=1 Then Move Camera 1
   If DownKey()=1 Then Move Camera -1
Loop
 
با اجرای این مثال اگر ما دکمه ی جهت بالا را فشار دهیم . دوربین پیش فرض به جلو ( در جهت محور Z خود ) و اگر دکمه ی جهت پائین را فشار دهیم دوربین پیش فرض به عقب ( خلاف جهت محور Z خود ) حرکت خواهد کرد .
 
با اضافه کردن شماره ی دوربین جدید می توانیم دوربین جدید را نیز (راستای محور Z خود ) به عقب و جلو حرکت دهیم . مانند مثال زیر :
 
Make Object Box 10,100,10,100 : Position Object 10,0,-15,50
Make Object Box 20,10,10,10 : Position Object 20,50,30,70
Make Camera 2 : Set Current Camera 2
Rotate Camera 2,0,0,0
Do
   If UpKey()=1 Then Move Camera 2, 1
   If DownKey()=1 Then Move Camera 2, -1
Loop


صفحه قبل 1 صفحه بعد

درباره وبلاگ


به وبلاگ من خوش آمدید
آخرین مطالب
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان آموزش ساخت بازی 3D ( سه بعدی ) به زبان Basic با دارک بیسیک D و آدرس darkbasic.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


آمار وب سایت:  

بازدید امروز : 7
بازدید دیروز : 0
بازدید هفته : 22
بازدید ماه : 249
بازدید کل : 99619
تعداد مطالب : 24
تعداد نظرات : 3
تعداد آنلاین : 1